public class MyCircleQueue {
    public int front;
    public int rear;
    public int[] elem;

    public MyCircleQueue(int k){
        elem=new int[k+1];
    }
    public boolean enQueue(int value){
        if(isFull()){
            return false;
        }
        elem[rear]=value;
        rear=(rear+1)%elem.length;
        return true;
    }
    public boolean deQueue(){
        if(isEmpty()){
            return false;
        }
        front=(front+1)%elem.length;
        return true;
    }
    public int getFront(){
        if(isEmpty()) {
            return -1;
        }
        return elem[front];
    }
    public int getRear(){
        if(isEmpty()) {
            return -1;
        }
        int index=(rear==0)?7:(rear-1);
        return elem[index];
    }
    public boolean isEmpty(){
        return front==rear;
    }
    public boolean isFull(){
        return (rear+1)%elem.length==front;
    }
}
